package transacoes;

import utils.*;
import data.*;
import java.util.*;

public class AdministradorCobraPaciente {

  public boolean incluir (AdministradorCobraPacienteDO adm) throws Exception{

     // validacao das regras de negocio
     if ( ( isEmpty(adm.getValor())) ) {
       return false;
     }

     // efetuando a transacao
     Transacao tr = new Transacao();
     try {

       tr.begin();
         AdministradorCobraPacienteData admdata = new AdministradorCobraPacienteData();
         admdata.incluir(adm, tr);
       tr.commit();
       return true;
       
     } catch(Exception e) {
         tr.rollback();
         System.out.println("erro ao incluir " + adm.getValor());
         e.printStackTrace();
     }
     return false;
  } // incluir

  public boolean atualizar(AdministradorCobraPacienteDO adm) throws Exception {
     Transacao tr = new Transacao();
	 try{
	   // inserir validacoes de regras de negocio
	   tr.begin();
  	     AdministradorCobraPacienteData admdata = new AdministradorCobraPacienteData();
	     admdata.atualizar(adm, tr);
	   tr.commit();
	   return true;
	 } catch (Exception e) {
	   tr.rollback();
	   System.out.println("erro ao atualizar" + adm.getValor());
	   e.printStackTrace();
	 }
	 return false;
  } // atualizar

  public boolean atualizarStatus(AdministradorCobraPacienteDO adm) throws Exception {
     Transacao tr = new Transacao();
	 try{
	   // inserir validacoes de regras de negocio
	   tr.begin();
  	     AdministradorCobraPacienteData admdata = new AdministradorCobraPacienteData();
	     admdata.atualizarStatus(adm, tr);
	   tr.commit();
	   return true;
	 } catch (Exception e) {
	   tr.rollback();
	   System.out.println("erro ao atualizar" + adm.getValor());
	   e.printStackTrace();
	 }
	 return false;
  }
  public AdministradorCobraPacienteDO buscar(int idobj) throws Exception{
     Transacao tr = new Transacao();
	 try{
	   tr.beginReadOnly();
  	     AdministradorCobraPacienteData admdata = new AdministradorCobraPacienteData();
	     AdministradorCobraPacienteDO c = admdata.buscar(idobj, tr);
	   tr.commit();
	   return c;
	 } catch (Exception e) {
	   tr.rollback();
	   System.out.println("erro ao buscar" + idobj);
	   e.printStackTrace();
	 }
	 return null;
  } // buscar


  private boolean isEmpty(String s) {
     if (null == s)
       return true;
     else if (s.length() == 0)
       return true;
     else
        return false;
  }

  public static void main(String[] args) {
      AdministradorCobraPaciente a = new AdministradorCobraPaciente();
      AdministradorCobraPacienteDO adm = new AdministradorCobraPacienteDO();
      try {
	    adm = a.buscar(6);
		System.out.println(adm.getValor());
      } catch(Exception e) {
          e.printStackTrace();
      }
  } // main
} // Contato